import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;

public class Fachada {
	
	private static Fachada fachada = null;
	
	private SessionFactory sf;	
	
	private ControladorPerfil controladorPerfil;

	private Fachada() {
		this.sf = new AnnotationConfiguration().configure("hibernate.cfg.xml").buildSessionFactory();		
        this.controladorPerfil = new ControladorPerfil(sf);
	}
	
	public static Fachada obterInstancia() {
        if (fachada == null) {
            fachada = new Fachada();
        }
        return fachada;
    }
	
	public int inserirPerfil(Perfil perfil) {		
        return this.controladorPerfil.inserir(perfil);
	}

	public void alterarPerfil(Perfil perfil) {
		this.controladorPerfil.alterar(perfil);        
	}
	
	public void excluirPerfil(Perfil perfil) {
		this.controladorPerfil.excluir(perfil);		
	}
	
	public List<Perfil> obterPerfil() {
		return this.controladorPerfil.obter();
	}
	
	public Perfil obterPerfil(int id) {
		return this.controladorPerfil.obter(id);
	}
	
}
